package com.itheima.wisdomnext.controller;

import com.itheima.wisdomnext.entity.QaPost;
import com.itheima.wisdomnext.entity.Result.ResponseResult;
import com.itheima.wisdomnext.service.QATextAnswerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;

@RestController // 声明这是一个 RESTful 控制器，返回的内容会自动转为 JSON
@RequestMapping("/qa") // 设置请求路径前缀为 /qa
public class QAPostController {

    @Autowired
    private QATextAnswerService qaTextAnswerService; // 注入自由问答服务层

    /**
     * 用户提交自由问答形式的答案
     * @param qaPost 包含问题和用户答案的对象（通过 JSON 提交）
     * @return 返回成功或失败的响应结果
     */
    @PostMapping("/answer/text")
    public ResponseResult<Object> answerTextQuestion(@RequestBody QaPost qaPost) {
        // 调用服务保存用户提交的自由文本答案
        qaTextAnswerService.saveAnswer(qaPost);
        // 返回成功结果（这里返回空数据的 map）
        return ResponseResult.success("回答成功", new HashMap<>());
    }

    /**
     * 用户选择选项式问题的某个选项作为答案
     * @param questionId 问题 ID
     * @param answerUserId 回答者用户 ID
     * @param optionId 被选中的选项 ID
     * @return 返回成功或失败的响应结果
     */
    @PostMapping("/answer/choice")
    public ResponseResult<Object> answerChoiceQuestion(
            @RequestParam Integer questionId,
            @RequestParam Integer answerUserId,
            @RequestParam Integer optionId
    ) {
        // 调用服务保存选项回答
        qaTextAnswerService.saveChoiceAnswer(questionId, answerUserId, optionId);
        // 返回成功结果
        return ResponseResult.success("回答成功", new HashMap<>());
    }
}
